home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 7.5 KB | 206 lines | [TEXT/MPS ] |
- (*
- File: GXEnvironment.mod
-
- Contains: QuickDraw GX environment constants and interfaces
-
- Version: Technology: Quickdraw GX 1.1
- Package: Universal Interfaces 2.1ß1 in “MPW Prerelease” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE GXEnvironment;
-
- IMPORT SYSTEM, Types, Quickdraw, GXMath, GXTypes;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
- (*$SET graphicsMacintoshIncludes TRUE*)
-
- CONST
- defaultPollingHandlerFlags* = $00;
- okToSwitchDuringPollFlag* = $00;
- dontSwitchDuringPollFlag* = $01;
-
-
- TYPE
- gxPollingHandlerFlags* = LONGINT;
-
- gxPollingHandlerProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (reference: LONGINT; flags: gxPollingHandlerFlags);
- gxPollingHandlerUPP* = Types.UniversalProcPtr;
-
- CONST
- uppgxPollingHandlerProcInfo* = $000003C1; (* PROCEDURE (4 byte param, 4 byte param); *)
-
- PROCEDURE NewgxPollingHandlerProc*(userRoutine: gxPollingHandlerProcPtr): gxPollingHandlerUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallgxPollingHandlerProc*(reference: LONGINT; flags: gxPollingHandlerFlags; userRoutine: gxPollingHandlerUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE GXGetGraphicsPollingHandler*(VAR reference: LONGINT): gxPollingHandlerUPP; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXSetGraphicsPollingHandler*(handler: gxPollingHandlerUPP; reference: LONGINT); (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (*$SET graphicsToolboxIncludes TRUE*)
- (* QD to QD GX Translator typedefs *)
-
- CONST
- gxDefaultOptionsTranslation* = $0000;
- gxOptimizedTranslation* = $0001;
- gxReplaceLineWidthTranslation* = $0002;
- gxSimpleScalingTranslation* = $0004;
- gxSimpleGeometryTranslation* = $0008; (* implies simple scaling *)
- gxSimpleLinesTranslation* = $000C; (* implies simple geometry & scaling *)
- gxLayoutTextTranslation* = $0010; (* turn on gxLine layout (normally off) *)
- gxRasterTargetTranslation* = $0020;
- gxPostScriptTargetTranslation* = $0040;
- gxVectorTargetTranslation* = $0080;
-
-
- TYPE
- gxTranslationOption* = LONGINT;
-
-
- CONST
- gxContainsFormsBegin* = $0001;
- gxContainsFormsEnd* = $0002;
- gxContainsPostScript* = $0004;
- gxContainsEmptyPostScript* = $0008;
-
-
- TYPE
- gxTranslationStatistic* = LONGINT;
-
-
- CONST
- gxQuickDrawPictTag* = LONG("pict");
-
-
- TYPE
- gxQuickDrawPict* = RECORD
- (* translator inputs *)
- options*: gxTranslationOption;
- srcRect*: Types.Rect;
- styleStretch*: Types.Point;
- (* size of quickdraw picture data *)
- dataLength*: LONGINT;
- (* file alias *)
- alias*: GXTypes.gxBitmapDataSourceAlias;
- END;
-
- (* Windows.WindowRecord utilities *)
-
- PROCEDURE GXNewWindowViewPort*(qdWindow: Quickdraw.WindowPtr): GXTypes.gxViewPort; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXGetWindowViewPort*(qdWindow: Quickdraw.WindowPtr): GXTypes.gxViewPort; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXGetViewPortWindow*(portOrder: GXTypes.gxViewPort): Quickdraw.WindowPtr; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (* Quickdraw.GDevice utilities *)
- PROCEDURE GXGetViewDeviceGDevice*(theDevice: GXTypes.gxViewDevice): Quickdraw.GDHandle; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXGetGDeviceViewDevice*(qdGDevice: Quickdraw.GDHandle): GXTypes.gxViewDevice; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (* gxPoint utilities *)
- PROCEDURE GXConvertQDPoint*((*CONST*)VAR shortPt: Types.Point; portOrder: GXTypes.gxViewPort; VAR fixedPt: GXMath.gxPoint); (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (* printing utilities typedef *)
- TYPE
- gxShapeSpoolProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (toSpool: GXTypes.gxShape; refCon: LONGINT): Types.OSErr;
- gxUserViewPortFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (toFilter: GXTypes.gxShape; portOrder: GXTypes.gxViewPort; refCon: LONGINT);
- gxConvertQDFontProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (dst: GXTypes.gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT;
- gxShapeSpoolUPP* = Types.UniversalProcPtr;
- gxUserViewPortFilterUPP* = Types.UniversalProcPtr;
- gxConvertQDFontUPP* = Types.UniversalProcPtr;
-
- CONST
- uppgxShapeSpoolProcInfo* = $000003E1; (* PROCEDURE (4 byte param, 4 byte param): 2 byte result; *)
- uppgxUserViewPortFilterProcInfo* = $00000FC1; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param); *)
- uppgxConvertQDFontProcInfo* = $00000FF1; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param): 4 byte result; *)
-
- PROCEDURE NewgxShapeSpoolProc*(userRoutine: gxShapeSpoolProcPtr): gxShapeSpoolUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewgxUserViewPortFilterProc*(userRoutine: gxUserViewPortFilterProcPtr): gxUserViewPortFilterUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewgxConvertQDFontProc*(userRoutine: gxConvertQDFontProcPtr): gxConvertQDFontUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallgxShapeSpoolProc*(toSpool: GXTypes.gxShape; refCon: LONGINT; userRoutine: gxShapeSpoolUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallgxUserViewPortFilterProc*(toFilter: GXTypes.gxShape; portOrder: GXTypes.gxViewPort; refCon: LONGINT; userRoutine: gxUserViewPortFilterUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallgxConvertQDFontProc*(dst: GXTypes.gxStyle; txFont: LONGINT; txFace: LONGINT; userRoutine: gxConvertQDFontUPP): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- TYPE
- gxShapeSpoolFunction* = gxShapeSpoolUPP;
-
- gxUserViewPortFilter* = gxUserViewPortFilterUPP;
-
- gxConvertQDFontFunction* = gxConvertQDFontUPP;
-
- (* mouse utilities *)
- (* return mouse location in fixed-gxPoint global space *)
-
- PROCEDURE GXGetGlobalMouse*(VAR globalPt: GXMath.gxPoint); (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (* return fixed-gxPoint local mouse (GXTypes.gxViewPort == 0 --> default) *)
- PROCEDURE GXGetViewPortMouse*(portOrder: GXTypes.gxViewPort; VAR localPt: GXMath.gxPoint); (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (* printing utilities *)
- PROCEDURE GXGetViewPortFilter*(portOrder: GXTypes.gxViewPort; VAR refCon: LONGINT): gxUserViewPortFilter; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXSetViewPortFilter*(portOrder: GXTypes.gxViewPort; filter: gxUserViewPortFilter; refCon: LONGINT); (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (* QD to QD GX Translator functions *)
- PROCEDURE GXInstallQDTranslator*(port: Quickdraw.GrafPtr; options: gxTranslationOption; (*CONST*)VAR srcRect: Types.Rect; (*CONST*)VAR dstRect: Types.Rect; styleStrech: Types.Point; userFunction: gxShapeSpoolUPP; reference: (*ΔΔUNIVΔΔ*) Types.Ptr); (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXRemoveQDTranslator*(port: Quickdraw.GrafPtr; VAR statistic: gxTranslationStatistic): gxTranslationStatistic; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXConvertPICTToShape*(pict: Quickdraw.PicHandle; options: gxTranslationOption; (*CONST*)VAR srcRect: Types.Rect; (*CONST*)VAR dstRect: Types.Rect; styleStretch: Types.Point; destination: GXTypes.gxShape; VAR stats: gxTranslationStatistic): GXTypes.gxShape; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- (* Find the best GX style given a QD font and face. Called by the QD->GX translator *)
- PROCEDURE GXConvertQDFont*(theStyle: GXTypes.gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXGetConvertQDFont*(): gxConvertQDFontUPP; (*ΔΔ C;*)
- EXTERNAL (*•• C*);
- PROCEDURE GXSetConvertQDFont*(userFunction: gxConvertQDFontUPP); (*ΔΔ C;*)
- EXTERNAL (*•• C*);
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END GXEnvironment.
-